﻿using BLL;
using DTO;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BONGDA
{
    public partial class frmAddFballer : Form
    {
        public frmAddFballer()
        {
            InitializeComponent();
        }
        int maDoiBong = 0;
        public frmAddFballer(int maDoiBong)
        {
            InitializeComponent();
            DataTable dtVT = VTCauThu_BLL.SelectAll();
            cboViTri.DisplayMember = "TenVT";
            cboViTri.ValueMember = "MaVT";
            cboViTri.DataSource = dtVT;

            DataTable dt = DoiBong_BLL.SelectTen();
            cboDoiBong.DisplayMember = "TenDoiBong";
            cboDoiBong.ValueMember = "MaDoiBong";
            cboDoiBong.DataSource = dt;
            cboDoiBong.SelectedValue = maDoiBong;
            if (dt.Rows.Count == 0)
            {
            }
            else
            {
                try
                {
                    // Thông tin đội bóng
                    DoiBong_DTO dto = DoiBong_BLL.SelectByID(Convert.ToInt32(cboDoiBong.SelectedValue.ToString()));
                    Image FetchedImg;
                    MemoryStream stream = new MemoryStream(dto.ByteLogo);
                    FetchedImg = Image.FromStream(stream);
                    picLogo.Image = FetchedImg;
                }
                catch (Exception)
                {
                    MessageBox.Show("Không thể lấy thông tin đội bóng!", "Lỗi",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }

        private void frmAddFballer_Load(object sender, EventArgs e)
        {
            
        }

        private void cboDoiBong_SelectedIndexChanged(object sender, EventArgs e)
        {
            maDoiBong = Convert.ToInt32(cboDoiBong.SelectedValue);
            DoiBong_DTO dto = DoiBong_BLL.SelectByID(maDoiBong);
            Image FetchedImg;
            MemoryStream stream = new MemoryStream(dto.ByteLogo);
            FetchedImg = Image.FromStream(stream);
            picLogo.Image = FetchedImg;
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (CauThu_BLL.SelectbyTenAndDoiBong(this.txtTen.Text.ToString(), Convert.ToInt32(cboDoiBong.SelectedValue)).Rows.Count != 0)
            {
                MessageBox.Show("Tên CẦU THỦ này đã tồn tại trong đội bóng!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                txtTen.SelectAll();
                return;
            }
            if (this.txtTen.Text.ToString() == "" || this.txtQuocTich.Text.ToString() == "")
            {
                MessageBox.Show("Điền đầy đủ tất cả các trường!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }

            CauThu_DTO dto = new CauThu_DTO();
            dto.TenCauThu = txtTen.Text;
            try
            {
                dto.MaDoiBong = Convert.ToInt32(cboDoiBong.SelectedValue);
                dto.SoAo = Convert.ToInt32(txtSoAo.Text);
                dto.MaViTri = cboViTri.SelectedValue.ToString();
            }
            catch (Exception)
            {
                MessageBox.Show("Số áo chưa đúng!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                return;
            }

            if (CauThu_BLL.SelectbySoAoAndDoiBong(Convert.ToInt32(cboDoiBong.SelectedValue), Convert.ToInt32(txtSoAo.Text)).Rows.Count != 0)
            {
                MessageBox.Show("CẦU THỦ có số áo " + txtSoAo.Text + "này đã tồn tại trong đội bóng!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Warning);
                txtTen.SelectAll();
                return;
            }
            dto.QuocTich = txtQuocTich.Text;
            dto.BanThang = 0;
            dto.TheDo = 0;
            dto.TheVang = 0;
            try
            {                
                CauThu_BLL.Insert(dto);
                MessageBox.Show("Thêm cầu thủ \"" + dto.TenCauThu + "\"!", "Thông báo",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
                txtTen.Text = "";
                txtQuocTich.Text = "";
                txtSoAo.Text = "";
                return;
            }
            catch (Exception)
            {
                MessageBox.Show("Không thể thêm cầu thủ!", "Lỗi",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                return;
            }
        }
    }
}
